package org.dxy.infrastructure.persistent.po.query;

import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
import lombok.experimental.Accessors;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 工单查询视图实体
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("work_order_view")
public class WorkOrderViewPo {
    
    /** 工单ID */
    @TableId(type = IdType.INPUT)
    private Long id;
    
    /** 工单编码 */
    private String workOrderCode;

    /** 工单类型 */
    private String workOrderType;

    /** 产品型号 */
    private Long productId;

    /** 产品型号 */
    private String productCode;

    /** 产品名称 */
    private String productName;

    /** 工艺路线id */
    private Long routeId;
    
    /** 工艺路线编码 */
    private String routeCode;

    /** 工艺路线名称*/
    private String routeName;

    /** 产线ID */
    private Long productionLineId;

    /** 产线编码 */
    private String productionLineCode;

    /** 产线名称 */
    private String productionLineName;

    /** 计划数量 */
    private Integer plannedQuantity;
    
    /** 完成数量 */
    private Integer completedQuantity;
    
    /** 工单状态 */
    private String status;

    /** 计划开始时间 */
    private LocalDate plannedStartTime;

    /** 计划结束时间 */
    private LocalDate  plannedEndTime;

    /** 备注 */
    private String remarks;
    
    /** 创建人 */
    @TableField(fill = FieldFill.INSERT)
    private String createdBy;
    
    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdTime;
    
    /** 修改人 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updatedBy;
    
    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedTime;
    
    /** 逻辑删除标识 0-未删除 1-已删除 */
    @TableLogic
    private Integer deleted;
}